package com.smartcommunity.dao.village;

import com.smartcommunity.entity.village.Equipment;
import com.smartcommunity.entity.village.RealPeopleLabel;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;
import java.util.Map;

/**
 * @ClassName: RealPowerEquipDao
 * @Description: 实有力量和实有装备dao
 * @author: minsheng
 * @Date: 2019/1/5 12:03
 * @Company:
 * @version V1.5.0
 */
@Mapper
public interface RealPowerEquipDao {
    /**
     * @Description: 获取实有力量信息
     * @param: map
     * @return: List<RealPeopleLabel>
     * @author: minsheng
     * @date: 2019/1/5 11:56
     */
    List<RealPeopleLabel> countRealPowerByLabel(Map<String, Object> map);
    /**
     * @Description: 根据手机号码获取mac
     * @param: String
     * @return: String
     * @author: minsheng
     * @date: 2019/1/5 11:57
     */
    String getPeopleMac(String phone);
    /**
     * @Description: 查询实有力量集合
     * @param: map
     * @return: List<Map<String,Object>>
     * @author: minsheng
     * @date: 2019/1/5 11:57
     */
    List<Map<String,Object>> listRealPowerGroupByLabel(Map<String, String> map);
    /**
     * @Description: 统计实有装备数量
     * @param: map
     * @return: int
     * @author: minsheng
     * @date: 2019/1/5 11:58
     */
    int countEquipments(Map<String, Object> map);
    /**
     * @Description: 获取实有装备列表
     * @param: Map<String, Object> map
     * @return: List<Equipment>
     * @author: minsheng
     * @date: 2018/12/21 14:12
     */
    List<Equipment> listEquipments(Map<String, Object> map);
    /**
     * @Description: 新增实有装备
     * @param: Equipment
     * @return: JSONObject
     * @author: minsheng
     * @date: 2018/12/21 14:11
     */
    void insertRealEquipment(Equipment equipment);
    /**
     * @Description: 修改实有装备
     * @param: Map<String, Object> paramMap
     * @return: JSONObject
     * @author: minsheng
     * @date: 2018/12/21 14:12
     */
    void updateRealEquipment(Equipment equipment);
    /**
     * @Description: 删除实有装备
     * @param: id
     * @return: JSONObject
     * @author: minsheng
     * @date: 2018/12/21 14:13
     */
    void deleteRealEquipment(Map<String, Object> paramMap);
    /**
     * 获取警员总数目
     * @param map
     * @return
     */
	int getCountPolicemeninfo(Map<String, String> map);

	/**
	 * 获取警员信息列表
	 * @param map
	 * @return
	 */
	List<Map<String, Object>> getPolicemeninfoList(Map<String, String> map);

    /**
     * 分组统计实有力量
     * @param param 请求参数
     * @return 实有力量统计
     */
    List<Map<String,Object>> listRealPowerStatisticGroup(Map<String, Object> param);
    /**
     * @Description: 统计手持设备数量
     * @param: map
     * @return: int
     * @author: minsheng
     * @date: 2019/1/5 12:00
     */
	int getCountLocPda(Map<String, String> map);
    /**
     * @Description: 查询手持设备集合
     * @param: map
     * @return: List<Map<String, Object>>
     * @author: minsheng
     * @date: 2019/1/5 12:00
     */
	List<Map<String, Object>> getLocPdaList(Map<String, String> map);
    /**
     * @Description: 根据小区查询实有力量
     * @param: recordMap
     * @return: List<Map<String,Object>>
     * @author: minsheng
     * @date: 2019/1/5 12:00
     */
    List<Map<String,Object>> listRealPowerGroupByVillage(Map<String, Object> recordMap);
    /**
     * @Description: 根据小区查询实有装备
     * @param: recordMap
     * @return: List<Map<String,Object>>
     * @author: minsheng
     * @date: 2019/1/5 12:01
     */
    List<Map<String,Object>> listRealEquipmentGroupByVillage(Map<String, Object> recordMap);
    /**
     * @Description: 抓拍日志
     * @param: list
     * @return: List<Map<String,String>>
     * @author: minsheng
     * @date: 2019/1/5 12:01
     */
    List<Map<String,String>> getExporessorLog(List<Map<String, Object>> list);
    /**
     * @Description: 检测是否存在重复数据
     * @param: paramMap
     * @return: Integer
     * @author: minsheng
     * @date: 2019/1/5 12:02
     */
	Integer checkRealEquipmentExitNameRepeat(Map<String, Object> paramMap);
    /**
     * @Description: 批量导入实有装备
     * @param: List<Equipment>
     * @return: void
     * @author: minsheng
     * @date: 2019/1/5 12:02
     */
	void addRealEquipmentExit(List<Equipment> equipment);
    /**
     * @Description: 批量导入实有装备图片
     * @param: List<Map<String, Object>>
     * @return: void
     * @author: minsheng
     * @date: 2019/1/5 12:03
     */
	void updateRealPowerEquipExitPic(List<Map<String, Object>> pathList);


    /**
     * @Description: 统计实有力量信息
     * @param: map
     * @return: List<RealPeopleLabel>
     * @author: minsheng
     * @date: 2019/1/5 11:56
     */
    Integer countRealPowerByVillage(Map<String, Object> map);
}
